with Generic_Array_Image;
with Generic_Number_Image;
package Legend.Traces is

   function Image_Uint16 (X : Uint16_t) return String;

   function Image is 
      new Generic_Array_Image(Positive, Uint16_t, Uint16_Array, Image_Uint16);

   function Image_Uint32 is 
      new Generic_Number_Image(Uint32_t);

   function To_Hex (N : Uint32_t) return String;

   function Image (B : Bounded_State_Type) return String;

   function Image (p : Point_Type) return String;

   function Image (d : Story_Type) return String;

   function Image (f : Movie_Frame_Type) return String;

   function Image (m : Story_Movie_Type) return String;

   function Image (i : Item_Type) return String;

   function Image (g : Item_Grid_Type) return String;

   function Image (b : Bag_Type; show_index : Boolean := False) return String;

   function Image (s : Scene_Type) return String;

   function Image (w : War_Define_Type) return String;

   function Image (k : Kongfu_Type) return String;

   function Image (H : Hero_Type; R : World_Record_Type) return String;

   function Image (CS : Coordinates_Type) return String;

   function Image is
      new Generic_Array_Image(
         Script_Cause_Type, 
         Uint16_t, 
         Script_Of_Cause, 
         Image_Uint16);

   procedure Trace_Profile (r : World_Record_Type);

   procedure Trace_Stories (Stories : Stories_Type);

   procedure Export_Heroes (R : World_Record_Type);

   procedure Export_Items;
   
   procedure Export_Kongfus (List : Kongfus_Type);

   procedure Export_Scenes (List : Scenes_Type);

   procedure Export_War_Defines (Defines : War_Defines_Pointer);

   procedure Export_Stories (
      Scenes        : Scenes_Pointer;
      Scene_Stories : Scene_Stories_Pointer
      );

   procedure Export_Talks (Talks : Talks_Pointer);

end Legend.Traces;
